/*Bash游戏 V4
有一堆石子共有N个。A B两个人轮流拿，A先拿。每次拿的数量最少1个，最多不超过对手上一次拿的数量的2倍（A第1次拿时要求不能全拿走）。拿到最后1颗石子的人获胜。假设A B都非常聪明，拿石子的过程中不会出现失误。给出N，问最后谁能赢得比赛。
例如N = 3。A只能拿1颗或2颗，所以B可以拿到最后1颗石子。
Input
第1行：一个数T，表示后面用作输入测试的数的数量。（1 <= T <= 1000)
第2 - T + 1行：每行1个数N。(1 <= N <= 10^9)
Output
共T行，如果A获胜输出A，如果B获胜输出B。
Input示例
3
2
3
4
Output示例
B
B
A
思路：注意如果n为1的时候，A不能取，因为是第一次取，所以不能全拿走，等到B取的时候就可以全部拿走。
推导出来前几个可以发现：1B2B3B4A5B6A。所以如果是斐波那契数列中的数的话，则B赢，否则的话A赢。
因为n在10^9范围内，所以只需要找出int范围内的斐波那契数。
*/
#include <bits/stdc++.h>
#define ll long long
const ll INF = 1000000000;
const int maxn = 200;
using namespace std;
ll f[maxn] = {0, 1, 2};
int T, n, num;
void Init()
{
    // 统计在int范围内的斐波那契数列以及个数
    for (int i = 3; i <= maxn; i ++)
        if (f[i - 1] + f[i - 2] <= INF)
            f[i] = f[i - 1] + f[i - 2];
        else
        {
            num = i;
            break;
        }
}
int main()
{
    Init();
    scanf("%d", &T);
    while (T --)
    {
        bool flag = false;
        scanf("%d", &n);
        for (int i = 1;i < num;i ++)
            if (f[i] == (ll)(n))
            {
                flag = true;
                printf("B\n");
                break;
            }
        if (!flag)
            printf("A\n");
    }
    return 0;
}
